package com.lngsyz.file.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
* <p>Description: Mybatis Mapper接口   **</p> 
* <p>Author: yangbk</p> 
* <p>Date: 2020-10-27</p> 
*/ 

public interface BaseMapper <Record,ID extends Serializable> {
	
	/**
     * 查询全部记录
     * @param record
     * @return
     */
	List<Record> findAll();

	/**
     * 条件查询记录
     * @param record
     * @return
     */
	List<Record> findByCondition(Map<String, Object> map);

	/**
     * 根据主键列表查询记录
     * @param record
     * @return
     */
	List<Record> findByIds(List<String> ids);
	
	/**
     * 根据主键列表查询记录
     * @param record
     * @return
     */
	Record findById(ID id);
	
	/**
     * 插入记录
     * @param record
     * @return
     */
	int insert(Record record);

	/**
     * 批量插入记录
     * @param record
     * @return
     */
	int inserts(List<Record> record);
	
	/**
     * 根据主键更新记录
     * @param record
     * @return
     */
	int update(Record record);
	
	/**
     * 根据主键更新记录
     * @param id
     * @return
     */
	int updates(List<Record> record);

	/**
     * 根据主键删除记录
     * @param id
     * @return
     */
	int deleteById(ID id);

	/**
     * 根据主键列表删除记录
     * @param id
     * @return
     */
	int deleteByIds(List<String> ids);
}